package Blog1;

import java.util.*;

public class Blog13 {
    /**
     * Map 中的 HashMap类
     */
    public static void main(String[] args) {
        Map<String, String>map=new HashMap<>();   // 实例化对象，父接口引用子类 HashMap
        map.put("国名女神","蒙娜丽莎");  // 添加键值对
        map.put("国名老公","王思余");
        map.put("及时雨","宋江");
        System.out.println(map);  // 打印键值对
        String s = map.get("及时雨");  // 通过键得到值
        System.out.println(s);
        String s2 = map.getOrDefault("战神","吕布");  // 根据指定的键(K战神)查找对应的值(V吕布) 没有找到用默认值代替
        System.out.println(s2);
        System.out.println(map.containsKey("及时雨"));   // 判断是否包含某个键(K及时雨)
        System.out.println(map.containsValue("宋江"));  // 判断是否包含某个值(K宋江)
        map.put("及时雨","你好");   // 出现重复的再次赋值，旧的键值对会被覆盖掉
        System.out.println(map);
        System.out.println(map.size());  //判断键值对的数量
        System.out.println(map.isEmpty());   // 判断是否为空键值对

        Set<Map.Entry<String,String> >Set = map.entrySet();
        for (Map.Entry<String,String> entry:Set) {
            System.out.println(entry.getKey()+"==>"+entry.getValue());
        }

    }




    /**
     * Collection 中的 ArrayList上的使用
     */

    public static void main1(String[] args) {
        Collection<String> collection = new ArrayList<>();   // 实例化创建一个有关于 ArrayList类的方法，父接口引用子类
        collection.add("你好");   // 向集合中添加指定元素
        collection.add("世界");
        System.out.println(collection);  // 打印顺序表
        collection.clear();       // 删除所有元素
        System.out.println(collection);  // 打印顺序表
        collection.add("hello");
        collection.add("world");
        System.out.println(collection.isEmpty());    // 判断该顺序表是否为空
        collection.remove("hello");     // 删除指定元素
        System.out.println(collection);
        System.out.println(collection.size());    // 计算该顺序表中的元素个数
        collection.add("你好世界");
        Object[] objects = collection.toArray();
        System.out.println(Arrays.toString(objects));

        for (String s: collection) {   // 当类实现或者继承了Iterable 接口就可以使用 foreach
            System.out.println(s);
        }

    }
}
